﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using UAXInversionesWeb.logicaNegocio;

namespace UAXInversionesWeb.supervisor
{
    public partial class AltaClienteSupervisor : System.Web.UI.Page
    {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            string[] emails = Proxy.obtenerEmailsFormulario();
            for (int i = 0; i <= emails.Length - 1; i++)
            {
                comboAltaCliente.Items.Add(emails[i]);
            }

        }
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void bAltaClienteSupervisor_Click(object sender, EventArgs e)
        {
            if (nombre.Text.Length > 0)
            {
                Cliente m = new Cliente();
                m.setDNI(dni.Text);
                m.setNombre(nombre.Text);
                m.setApellidos(apelli.Text);
                m.setFechaNacimiento(DateTime.Parse(fecha.Text));
                m.setSexo(sexo.Text.ToCharArray()[0]);
                m.setTelefonoFijo(Int64.Parse(fijo.Text));
                m.setTelefonoMovil(Int64.Parse(movil.Text));
                m.setFax(Int64.Parse(fax.Text));
                m.setCorreoElectronico(email.Text);
                Direccion d = new Direccion();
                d.setTipoCalle(tipoCalle.Text);
                d.setNombreCalle(dir.Text);
                d.setNumeroCalle(Int32.Parse(num.Text));
                d.setPiso(Int32.Parse(piso.Text));
                d.setLetra(letra.Text.ToCharArray()[0]);
                d.setEscalera(escalera.Text);
                d.setLocalidad(localidad.Text);
                d.setProvincia(provincia.Text);
                d.setCP(Int32.Parse(cp.Text));
                d.setPais(pais.Text);
                DatosBancarios db = new DatosBancarios();
                db.setNombreBanco(banco.Text);
                db.setNumeroDeCuenta(Decimal.Parse(cuenta.Text));
                db.setDireccionOficina(dirB.Text);
                m.setDireccion(d);
                m.setDatosBancarios(db);

                bool x = Proxy.darAltaCliente(m);

                if (x)
                {
                    panelAltaClienteSupervisor.Visible = false;
                    Response.Write("<script>alert('Nuevo cliente dado de alta: " + nombre.Text + ".')</script>");
                    Response.Redirect("PaginaPrincipalSupervisor.aspx");
                }
                else
                {
                    Response.Write("<script>alert('Error critico')</script>");
                }
            }
        }

        protected void bRechazarAltaClienteSupervisor_Click(object sender, EventArgs e)
        {
            Response.Write("<script>alert('Acción dar de alta cancelada por el supervisor.')</script>");
        }

        protected void botonConfirmar_Click(object sender, EventArgs e)
        {
            Cliente c = Proxy.obtenerDatosClienteEmail(comboAltaCliente.SelectedValue);
            nombre.Text = c.getNombre();
            apelli.Text = c.getApellidos();
            dni.Text = c.getDNI();
            sexo.Text = c.getSexo().ToString();
            fecha.Text = c.getFechaNacimiento().ToShortDateString();
            fijo.Text = c.getTelefonoFijo().ToString();
            movil.Text = c.getTelefonoMovil().ToString();
            fax.Text = c.getFax().ToString();
            email.Text = c.getCorreoElectronico();
            banco.Text = c.getDatosBancarios().getNombreBanco();
            dirB.Text = c.getDatosBancarios().getDireccionOficina();
            tipoCalle.Text = c.getDireccion().getTipoCalle();
            dir.Text = c.getDireccion().getNombreCalle();
            num.Text = c.getDireccion().getNumeroCalle().ToString();
            piso.Text = c.getDireccion().getPiso().ToString();
            letra.Text = c.getDireccion().getLetra().ToString();
            escalera.Text = c.getDireccion().getEscalera();
            localidad.Text = c.getDireccion().getLocalidad();
            provincia.Text = c.getDireccion().getProvincia();
            cp.Text = c.getDireccion().getCP().ToString();
            pais.Text = c.getDireccion().getPais();
            cuenta.Text = c.getDatosBancarios().getNumeroDeCuenta().ToString();
            panelAltaClienteSupervisor.Visible = true;
        }
    }
}

